home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / powervww / pvwin.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-05  |  4.3 KB  |  147 lines

  1. //  ____________________________________________________
  2. // |                                                    |
  3. // |  Project:     POWER VIEW INTERFACE                 |
  4. // |  File:        PVWIN.H                              |
  5. // |  Compiler:    WPP386 (10.6)                        |
  6. // |                                                    |
  7. // |  Subject:     Windows support interface            |
  8. // |                                                    |
  9. // |  Author:      Emil Dotchevski                      |
  10. // |____________________________________________________|
  11. //
  12. // E-mail: zajo@geocities.com
  13. // URL:    http://www.geocities.com/SiliconValley/Bay/3577
  14.  
  15. //WINDOW PALETTES
  16.  
  17. #ifndef _PVWIN_H
  18. #define _PVWIN_H
  19. #define wpSTANDARD 0x0001
  20. #define wpEDITOR   0x0002
  21. #define wpTOOL     0x0003
  22. #define wpHELP     0x0004
  23. #define wpALERT    0x0005
  24.  
  25. class Twindow;
  26.  
  27. class Tclose_icon: public Tmenu_bar
  28. {
  29.   public:
  30.     Tclose_icon( Twindow *w );
  31.     virtual uint exec( void );
  32.  
  33.   protected:
  34.     virtual void set_palette( void );
  35. #ifndef NOMOUSE
  36.     virtual void event_handler( Tevent &ev );
  37. #endif
  38.     virtual Tmenu_item *shortcut_ptr( uint ascii );
  39.  
  40.   private:
  41.     Twindow *window;
  42.     inline Tmenu *init( Twindow *w );
  43. };
  44.  
  45. class Twindow : public Titem
  46. {
  47. //<R> means read-only
  48. //<R/W> means read/write
  49.   public:
  50.     uint palette; //<R/W>
  51.     uint shortcut; //<R/W> window's keyboard shortcut
  52.     char *title; //<R>
  53.     Tset local_commands; //<R/W>
  54.     Tcommands commands; //<R>
  55.     int xl_min; //<R/W>
  56.     int yl_min; //<R/W>
  57.     int xl_max; //<R/W>
  58.     int yl_max; //<R/W>
  59.     int x_saved; //holds x while iconized/maximized
  60.     int y_saved; //holds y while iconized/maximized
  61.     int xl_saved; //holds xl while iconized/maximized
  62.     int yl_saved; //holds yl while iconized/maximized
  63.     int icon_x;
  64.     int icon_y;
  65.     Tmenu_bar *close_icon;
  66.     Ticon *minimize_icon;
  67.     Ticon *maximize_icon;
  68.     Ticon *resize_icon;
  69.     Twindow( char *t, int _xl, int _yl );
  70.     virtual ~Twindow( void );
  71.     virtual void set_state( uint _state_word, boolean enable );
  72.     virtual void set_flags( uint _flags_word, boolean enable );
  73.     virtual void pop_up( void );
  74.     virtual void drag( int newx, int newy );
  75.     virtual void resize( int newxl, int newyl );
  76.     virtual boolean valid( uint command );
  77.     virtual void put_in( Titem *v, int _x, int _y );
  78.     virtual boolean cenabled( uint cmd );
  79.     virtual boolean cdisabled( uint cmd );
  80.     virtual void cenable( uint cmd );
  81.     virtual void cdisable( uint cmd );
  82.     virtual void cstate( uint cmd, boolean enable );
  83.     void set_title( char *t );
  84.     virtual void title2str( char *t, int max_len );
  85.     virtual void construct_frame( char *fr );
  86.     virtual void construct_system_menu( void );
  87.     Titem *frame( char *t );
  88.     Titem *frame( void );
  89.     void endfr( void );
  90.  
  91.   protected:
  92.     uint on_top_flag;
  93.     virtual void calc_bounds( int delta_xl, int delta_yl );
  94.     virtual void set_palette( void );
  95.     virtual void draw( void );
  96.     virtual void initialize( void );
  97.     virtual void get_focused( void );
  98.     virtual boolean release_focus( void );
  99.     virtual void event_handler( Tevent &ev );
  100.     virtual void direct_resize( int newxl, int newyl );
  101.  
  102.   private:
  103.     boolean frame_beg_flag;
  104.     Titem *beg_frame_item;
  105.     Titem *end_frame_item;
  106.     int local_tools;
  107.     void do_system_menu( void );
  108. };
  109.  
  110. class Tscroll_window: public Twindow
  111. {
  112.   public:
  113.     Tvscroll_bar *vbar;
  114.     Thscroll_bar *hbar;
  115.     Tscroll_window( uint &hbeg_print, uint &hcount,
  116.                     uint &vbeg_print, uint &vcount,
  117.                     int delta_h,
  118.                     char *t, Titem *item );
  119.  
  120. };
  121.  
  122. class Tfile_window : public Tscroll_window
  123. {
  124.   public:
  125.     Tfile_window( uint &hbeg_print, uint &hcount,
  126.                   uint &vbeg_print, uint &vcount,
  127.                   int delta_h,
  128.                   char *t, Titem *item );
  129.     virtual void title2str( char *t, int max_len );
  130. };
  131. #endif
  132.  
  133. #ifdef _DECLARE_PVWIN
  134.   Tset win_nums;
  135. #else
  136.   extern Tset win_nums;
  137. #endif
  138.  
  139. //PREFIXES
  140.  
  141. void _pstandard( void );           char __palette( void );
  142. void _peditor( void );
  143. void _ptool( void );
  144. void _phelp( void );
  145. void _palert( void );
  146. void _context( int context );      int __context( void );
  147.